// import type { AxiosResponse } from "axios";
import request from "@/utils/request.ts";
import type { Task, ResResult } from "@/api/interface/index.ts";

/**
 * 获取任务列表
 * @param {Task.ReqSelectTask} params
 * @param {number} params.currentPage 当前页
 * @param {number} params.pageSize 每页条数
 * @param {0 | 1 | 2} params.status // 0-待办 1-进行中 2-已完成
 * @returns
 */
export function reqSelectTask(params: Task.ReqSelectTask): Promise<Task.ResTaskList> {
  return request({
    url: "/task/selectTask",
    method: "get",
    params
  });
}

/**
 * 新建任务
 * @param { Task.ReqInsertTask} data
 * @returns
 */
export function reqInsertTask(data: Task.ReqInsertTask) {
  return request({
    url: "/task/insertTask",
    method: "post",
    data
  });
}

/**
 * 修改任务
 * @param {Task.ReqUpdateTask} data
 * @returns
 */
export function reqUpdateTask(data: Task.ReqUpdateTask): Promise<ResResult> {
  return request({
    url: "/task/updateTask",
    method: "put",
    data
  });
}

/**
 * 修改任务状态
 * @param {Task.ReqUpdateTaskStatus} data
 * @returns
 */
export function reqUpdateTaskStatus(data: Task.ReqUpdateTaskStatus) {
  return request({
    url: "/task/updateTaskStatus",
    method: "patch",
    data
  });
}

/**
 * 修改任务是否为重要
 * @param {Task.ReqUpdateTaskMajor} data
 * @returns
 */
export function reqUpdateTaskMajor(data: Task.ReqUpdateTaskMajor) {
  return request({
    url: "/task/updateTaskMajor",
    method: "patch",
    data
  });
}

/**
 * 删除任务
 * @param {Task.ReqDeleteTask} data
 * @returns
 */
export function reqDeleteTask(data: Task.ReqDeleteTask): Promise<ResResult> {
  return request({
    url: "/task/deleteTask",
    method: "delete",
    data
  });
}
